home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / lib / tk / message.man < prev    next >
Encoding:
Text File  |  1992-08-24  |  10.0 KB  |  350 lines

  1. '\"
  2. '\" Copyright 1990 Regents of the University of California
  3. '\" Permission to use, copy, modify, and distribute this
  4. '\" documentation for any purpose and without fee is hereby
  5. '\" granted, provided that this notice appears in all copies.
  6. '\" The University of California makes no representations about
  7. '\" the suitability of this material for any purpose.  It is
  8. '\" provided "as is" without express or implied warranty.
  9. '\" 
  10. '\" $Header: /user6/ouster/wish/man/RCS/message.man,v 1.15 92/06/08 11:31:27 ouster Exp $ SPRITE (Berkeley)
  11. '/" 
  12. .\" The definitions below are for supplemental macros used in Sprite
  13. .\" manual entries.
  14. .\"
  15. .\" .HS name section [date [version]]
  16. .\"    Replacement for .TH in other man pages.  See below for valid
  17. .\"    section names.
  18. .\"
  19. .\" .AP type name in/out [indent]
  20. .\"    Start paragraph describing an argument to a library procedure.
  21. .\"    type is type of argument (int, etc.), in/out is either "in", "out",
  22. .\"    or "in/out" to describe whether procedure reads or modifies arg,
  23. .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
  24. .\"    needed;  use .AS below instead)
  25. .\"
  26. .\" .AS [type [name]]
  27. .\"    Give maximum sizes of arguments for setting tab stops.  Type and
  28. .\"    name are examples of largest possible arguments that will be passed
  29. .\"    to .AP later.  If args are omitted, default tab stops are used.
  30. .\"
  31. .\" .BS
  32. .\"    Start box enclosure.  From here until next .BE, everything will be
  33. .\"    enclosed in one large box.
  34. .\"
  35. .\" .BE
  36. .\"    End of box enclosure.
  37. .\"
  38. .\" .VS
  39. .\"    Begin vertical sidebar, for use in marking newly-changed parts
  40. .\"    of man pages.
  41. .\"
  42. .\" .VE
  43. .\"    End of vertical sidebar.
  44. .\"
  45. .\" .DS
  46. .\"    Begin an indented unfilled display.
  47. .\"
  48. .\" .DE
  49. .\"    End of indented unfilled display.
  50. .\"
  51. '\"    # Heading for Sprite man pages
  52. .de HS
  53. .if '\\$2'cmds'       .TH \\$1 1 \\$3 \\$4
  54. .if '\\$2'lib'        .TH \\$1 3 \\$3 \\$4
  55. .if '\\$2'tcl'        .TH \\$1 3 \\$3 \\$4
  56. .if '\\$2'tk'         .TH \\$1 3 \\$3 \\$4
  57. .if t .wh -1.3i ^B
  58. .nr ^l \\n(.l
  59. .ad b
  60. ..
  61. '\"    # Start an argument description
  62. .de AP
  63. .ie !"\\$4"" .TP \\$4
  64. .el \{\
  65. .   ie !"\\$2"" .TP \\n()Cu
  66. .   el          .TP 15
  67. .\}
  68. .ie !"\\$3"" \{\
  69. .ta \\n()Au \\n()Bu
  70. \&\\$1    \\fI\\$2\\fP    (\\$3)
  71. .\".b
  72. .\}
  73. .el \{\
  74. .br
  75. .ie !"\\$2"" \{\
  76. \&\\$1    \\fI\\$2\\fP
  77. .\}
  78. .el \{\
  79. \&\\fI\\$1\\fP
  80. .\}
  81. .\}
  82. ..
  83. '\"    # define tabbing values for .AP
  84. .de AS
  85. .nr )A 10n
  86. .if !"\\$1"" .nr )A \\w'\\$1'u+3n
  87. .nr )B \\n()Au+15n
  88. .\"
  89. .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
  90. .nr )C \\n()Bu+\\w'(in/out)'u+2n
  91. ..
  92. '\"    # BS - start boxed text
  93. '\"    # ^y = starting y location
  94. '\"    # ^b = 1
  95. .de BS
  96. .br
  97. .mk ^y
  98. .nr ^b 1u
  99. .if n .nf
  100. .if n .ti 0
  101. .if n \l'\\n(.lu\(ul'
  102. .if n .fi
  103. ..
  104. '\"    # BE - end boxed text (draw box now)
  105. .de BE
  106. .nf
  107. .ti 0
  108. .mk ^t
  109. .ie n \l'\\n(^lu\(ul'
  110. .el \{\
  111. .\"    Draw four-sided box normally, but don't draw top of
  112. .\"    box if the box started on an earlier page.
  113. .ie !\\n(^b-1 \{\
  114. \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  115. .\}
  116. .el \}\
  117. \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  118. .\}
  119. .\}
  120. .fi
  121. .br
  122. .nr ^b 0
  123. ..
  124. '\"    # VS - start vertical sidebar
  125. '\"    # ^Y = starting y location
  126. '\"    # ^v = 1 (for troff;  for nroff this doesn't matter)
  127. .de VS
  128. .mk ^Y
  129. .ie n 'mc \s12\(br\s0
  130. .el .nr ^v 1u
  131. ..
  132. '\"    # VE - end of vertical sidebar
  133. .de VE
  134. .ie n 'mc
  135. .el \{\
  136. .ev 2
  137. .nf
  138. .ti 0
  139. .mk ^t
  140. \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
  141. .sp -1
  142. .fi
  143. .ev
  144. .\}
  145. .nr ^v 0
  146. ..
  147. '\"    # Special macro to handle page bottom:  finish off current
  148. '\"    # box/sidebar if in box/sidebar mode, then invoked standard
  149. '\"    # page bottom macro.
  150. .de ^B
  151. .ev 2
  152. 'ti 0
  153. 'nf
  154. .mk ^t
  155. .if \\n(^b \{\
  156. .\"    Draw three-sided box if this is the box's first page,
  157. .\"    draw two sides but no top otherwise.
  158. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  159. .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  160. .\}
  161. .if \\n(^v \{\
  162. .nr ^x \\n(^tu+1v-\\n(^Yu
  163. \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
  164. .\}
  165. .bp
  166. 'fi
  167. .ev
  168. .if \\n(^b \{\
  169. .mk ^y
  170. .nr ^b 2
  171. .\}
  172. .if \\n(^v \{\
  173. .mk ^Y
  174. .\}
  175. ..
  176. '\"    # DS - begin display
  177. .de DS
  178. .RS
  179. .nf
  180. .sp
  181. ..
  182. '\"    # DE - end display
  183. .de DE
  184. .fi
  185. .RE
  186. .sp .5
  187. ..
  188. .HS message cmds
  189. .BS
  190. '\" Note:  do not modify the .SH NAME line immediately below!
  191. .SH NAME
  192. message \- Create and manipulate message widgets
  193. .SH SYNOPSIS
  194. \fBmessage\fI \fIpathName \fR?\fIoptions\fR?
  195. .SH "STANDARD OPTIONS"
  196. .LP
  197. .nf
  198. .ta 4c 8c 12c
  199. .VS
  200. \fBanchor\fR    \fBcursor\fR    \fBpadX\fR    \fBtext\fR
  201. \fBbackground\fR    \fBfont\fR    \fBpadY\fR    \fBtextVariable\fR
  202. \fBborderWidth\fR    \fBforeground\fR    \fBrelief\fR    \fBwidth\fR
  203. .VE
  204. .fi
  205. .LP
  206. See the ``options'' manual entry for details on the standard options.
  207. .SH "WIDGET-SPECIFIC OPTIONS"
  208. .ta 4c
  209. .LP
  210. .nf
  211. Name:    \fBaspect\fR
  212. Class:    \fBAspect\fR
  213. Command-Line Switch:    \fB\-aspect\fR
  214. .fi
  215. .IP
  216. Specifies a non-negative integer value indicating desired
  217. aspect ratio for the text.  The aspect ratio is specified as
  218. 100*width/height.  100 means the text should
  219. be as wide as it is tall, 200 means the text should
  220. be twice as wide as it is tall, 50 means the text should
  221. be twice as tall as it is wide, and so on.
  222. .VS
  223. Used to choose line length for text if \fBwidth\fR option
  224. isn't specified.
  225. .VE
  226. Defaults to 150.
  227. .LP
  228. .nf
  229. Name:    \fBjustify\fR
  230. Class:    \fBJustify\fR
  231. Command-Line Switch:    \fB\-justify\fR
  232. .fi
  233. .IP
  234. Specifies how to justify lines of text.
  235. Must be one of \fBleft\fR, \fBcenter\fR, or \fBright\fR.  Defaults
  236. to \fBleft\fR.
  237. .VS
  238. This option works together with the \fBanchor\fR, \fBaspect\fR,
  239. \fBpadX\fR, \fBpadY\fR, and \fBwidth\fR options to provide a variety
  240. of arrangements of the text within the window.
  241. The \fBaspect\fR and \fBwidth\fR options determine the amount of
  242. screen space needed to display the text.
  243. The \fBanchor\fR, \fBpadX\fR, and \fBpadY\fR options determine where this
  244. rectangular area is displayed within the widget's window, and the
  245. \fBjustify\fR option determines how each line is displayed within that
  246. rectangular region.
  247. For example, suppose \fBanchor\fR is \fBe\fR and \fBjustify\fR is
  248. \fBleft\fR, and that the message window is much larger than needed
  249. for the text.
  250. The the text will displayed so that the left edges of all the lines
  251. line up and the right edge of the longest line is \fBpadX\fR from
  252. the right side of the window;  the entire text block will be centered
  253. in the vertical span of the window.
  254. .VE
  255. .LP
  256. .nf
  257. .VS
  258. Name:    \fBwidth\fR
  259. Class:    \fBWidth\fR
  260. Command-Line Switch:    \fB\-width\fR
  261. .fi
  262. .IP
  263. Specifies the length of lines in the window.
  264. The value may have any of the forms acceptable to \fBTk_GetPixels\fR.
  265. If this option has a value greater than zero then the \fBaspect\fR
  266. option is ignored and the \fBwidth\fR option determines the line
  267. length.
  268. If this option has a value less than or equal to zero, then
  269. the \fBaspect\fR option determines the line length.
  270. .VE
  271. .BE
  272.  
  273. .SH DESCRIPTION
  274. .PP
  275. The \fBmessage\fR command creates a new window (given by the
  276. \fIpathName\fR argument) and makes it into a message widget.
  277. Additional
  278. options, described above, may be specified on the command line
  279. or in the option database
  280. to configure aspects of the message such as its colors, font,
  281. text, and initial relief.  The \fBmessage\fR command returns its
  282. \fIpathName\fR argument.  At the time this command is invoked,
  283. there must not exist a window named \fIpathName\fR, but
  284. \fIpathName\fR's parent must exist.
  285. .PP
  286. A message is a widget that displays a textual string.  A message
  287. widget has three special features.  First, it breaks up
  288. its string into lines in order to produce a given aspect ratio
  289. for the window.  The line breaks are chosen at word boundaries
  290. wherever possible (if not even a single word would fit on a
  291. line, then the word will be split across lines).  Newline characters
  292. in the string will force line breaks;  they can be used, for example,
  293. to leave blank lines in the display.
  294. .PP
  295. The second feature of a message widget is justification.  The text
  296. may be displayed left-justified (each line starts at the left side of
  297. the window), centered on a line-by-line basis, or right-justified
  298. (each line ends at the right side of the window).
  299. .PP
  300. The third feature of a message widget is that it handles control
  301. characters and non-printing characters specially.  Tab characters
  302. are replaced with enough blank space to line up on the next
  303. 8-character boundary.  Newlines cause line breaks.  Other control
  304. characters (ASCII code less than 0x20) and characters not defined
  305. in the font are displayed as a four-character sequence \fB\ex\fIhh\fR where
  306. \fIhh\fR is the two-digit hexadecimal number corresponding to
  307. the character.  In the unusual case where the font doesn't contain
  308. all of the characters in ``0123456789abcdef\ex'' then control
  309. characters and undefined characters are not displayed at all.
  310.  
  311. .SH "WIDGET COMMAND"
  312. .PP
  313. The \fBmessage\fR command creates a new Tcl command whose
  314. name is \fIpathName\fR.  This
  315. command may be used to invoke various
  316. operations on the widget.  It has the following general form:
  317. .DS C
  318. \fIpathName option \fR?\fIarg arg ...\fR?
  319. .DE
  320. \fIOption\fR and the \fIarg\fRs
  321. determine the exact behavior of the command.  The following
  322. commands are possible for message widgets:
  323. .TP
  324. \fIpathName \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
  325. Query or modify the configuration options of the widget.
  326. If no \fIoption\fR is specified, returns a list describing all of
  327. the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
  328. information on the format of this list).  If \fIoption\fR is specified
  329. with no \fIvalue\fR, then the command returns a list describing the
  330. one named option (this list will be identical to the corresponding
  331. sublist of the value returned if no \fIoption\fR is specified).  If
  332. one or more \fIoption\-value\fR pairs are specified, then the command
  333. modifies the given widget option(s) to have the given value(s);  in
  334. this case the command returns an empty string.
  335. \fIOption\fR may have any of the values accepted by the \fBmessage\fR
  336. command.
  337.  
  338. .SH "DEFAULT BINDINGS"
  339. .PP
  340. When a new message is created, it has no default event bindings:
  341. messages are intended for output purposes only.
  342.  
  343. .SH BUGS
  344. .PP
  345. Tabs don't work very well with text that is centered or right-justified.
  346. The most common result is that the line is justified wrong.
  347.  
  348. .SH KEYWORDS
  349. message, widget
  350.